add/remove functionality, structure refactoring

Signed-off-by: Petar Koretic <petar.koretic@sartura.hr>