Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/IconActionLink.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/IconActionLink.java	(revision aa351cb9310cd8828577654b25461931d3b2a79c)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/IconActionLink.java	(revision 5bf18e1b3581ac2abe73e60337c1250075cef8cd)
@@ -36,3 +36,7 @@
 	private String path;
 
+	@Property
+	@Parameter(required = false, defaultPrefix = BindingConstants.LITERAL, name = "class")
+	private String theClass;
+
 }
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageCourses.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageCourses.java	(revision aa351cb9310cd8828577654b25461931d3b2a79c)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageCourses.java	(revision 5bf18e1b3581ac2abe73e60337c1250075cef8cd)
@@ -82,5 +82,5 @@
 
 	@CommitAfter
-	void onActionFromDeleteCourse(Course c) {
+	void onDeleteCourse(Course c) {
 		genericService.delete(c);
 	}
@@ -178,3 +178,11 @@
 	}
 
+	public void onActionFromAddCourse() {
+		editCourse = new Course();
+	}
+
+	void onCancelEditCourse() {
+		editCourse = null;
+	}
+	
 }
Index: eprms-tap/src/main/resources/info/ajanovski/eprms/tap/components/IconActionLink.tml
===================================================================
--- eprms-tap/src/main/resources/info/ajanovski/eprms/tap/components/IconActionLink.tml	(revision aa351cb9310cd8828577654b25461931d3b2a79c)
+++ eprms-tap/src/main/resources/info/ajanovski/eprms/tap/components/IconActionLink.tml	(revision 5bf18e1b3581ac2abe73e60337c1250075cef8cd)
@@ -1,6 +1,7 @@
 <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_4.xsd"
 	xmlns:p="tapestry:parameter">
-<a t:type="actionlink"
-	t:context="context"><svg t:type="svgicon" t:path="prop:path" />
-	<t:body /></a>
+<t:actionlink t:context="prop:context" class="prop:theClass">
+	<svg t:type="svgicon" t:path="prop:path"></svg>
+	<t:body />
+</t:actionlink>
 </html>
Index: eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageCourses.tml
===================================================================
--- eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageCourses.tml	(revision aa351cb9310cd8828577654b25461931d3b2a79c)
+++ eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageCourses.tml	(revision 5bf18e1b3581ac2abe73e60337c1250075cef8cd)
@@ -21,18 +21,30 @@
 </div>
 
-<div t:type="if" t:test="editCourse" class="card">
-	<t:modalbox>
-		<div class="card-body">
-			<form t:type="beaneditform" t:id="frmEditCourse"
-				t:object="editCourse" t:exclude="courseId" t:submitLabel="OK"></form>
-		</div>
-	</t:modalbox>
+<div class="mb-3">
+	<div t:type="if" t:test="editCourse">
+		<t:modalbox>
+			<form t:type="form" t:id="frmEditCourse" id="frmEditCourse">
+				<t:beaneditor t:object="editCourse" t:exclude="courseId" />
+				<div class="form-row">
+					<t:submit t:value="OK" />
+					<a href="" t:type="eventlink" t:id="cancelEditCourse"
+						class="btn btn-default">${message:cancel-label}</a>
+				</div>
+			</form>
+		</t:modalbox>
+		<p:else>
+			<p>
+				<t:iconActionLink t:id="addCourse" t:path="plus"
+					class="btn btn-primary">${message:add-label}</t:iconActionLink>
+			</p>
+		</p:else>
+	</div>
 </div>
 
 <table class="table table-sm table-bordered" t:type="grid"
 	t:source="allCourses" t:row="course" t:exclude="courseId"
-	t:add="activities,edit">
+	t:add="activities,actions">
 	<p:activitiesCell>
-		<p class="m-0" style="margin-left:${hierarchicalDepth}em !important;"
+		<div style="margin-left:${hierarchicalDepth}em !important;"
 			t:type="loop" t:source="CourseCourseActivityTypes"
 			t:value="courseActivityType">
@@ -42,20 +54,18 @@
 				class="btn btn-sm btn-danger p-0"><svg t:type="svgicon"
 					t:path="minus" /></a>
-		</p>
-		<p class="text-center">
-			<a href="" t:type="iconActionLink" t:id="addCourseActivityType"
-				t:context="course" t:path="plus" class="btn btn-sm btn-primary p-0">${message:add-label}</a>
-		</p>
+		</div>
+		<t:iconActionLink t:id="addCourseActivityType" t:context="course"
+			t:path="plus" class="btn btn-sm btn-primary mt-0">${message:add-label}</t:iconActionLink>
 	</p:activitiesCell>
-	<p:editCell>
-		<a href="" t:type="actionlink" t:id="editCourse" t:context="course"
+	<p:actionsCell>
+		<a href="" t:type="actionLink" t:id="editCourse" t:context="course"
 			class="btn btn-sm btn-secondary"><svg t:type="svgicon"
 				t:path="edit" />${message:edit-label}</a>
 		<t:if t:test="allowDeleteCourse">
-			<a href="" t:type="actionlink" t:id="deleteCourse" t:context="course"
+			<a href="" t:type="eventLink" t:id="deleteCourse" t:context="course"
 				class="btn btn-sm btn-danger"><svg t:type="svgicon"
 					t:path="minus" />${message:remove-label}</a>
 		</t:if>
-	</p:editCell>
+	</p:actionsCell>
 </table>
 
Index: eprms-tap/src/main/webapp/WEB-INF/app.properties
===================================================================
--- eprms-tap/src/main/webapp/WEB-INF/app.properties	(revision aa351cb9310cd8828577654b25461931d3b2a79c)
+++ eprms-tap/src/main/webapp/WEB-INF/app.properties	(revision 5bf18e1b3581ac2abe73e60337c1250075cef8cd)
@@ -24,4 +24,5 @@
 app-title-short=EPRMS
 back-label=Back
+cancel-label=Cancel
 copy-label=Copy
 copyrightHolder=Vangel V. Ajanovski
Index: eprms-tap/src/main/webapp/WEB-INF/app_mk.properties
===================================================================
--- eprms-tap/src/main/webapp/WEB-INF/app_mk.properties	(revision aa351cb9310cd8828577654b25461931d3b2a79c)
+++ eprms-tap/src/main/webapp/WEB-INF/app_mk.properties	(revision 5bf18e1b3581ac2abe73e60337c1250075cef8cd)
@@ -24,4 +24,5 @@
 app-title=ЕПРМС
 back-label=назад
+cancel-label=Откажи
 copy-label=Копирај
 course-label=курс
