some architecture chanegs
refactor directory structur