major refactoring

Signed-off-by: Markus Gattol <markus.gattol@sunoano.org>