some more refactoring to try to avoid infinite import loop
removed import of user_layer from abstraction layer and moved all
imports to top of files in user layer