working on library structure. its getting better with separated files