organize code in packages
add fragment layouts

Signed-off-by: constpetrov <constant.petrov@gmail.com>