moved everything out into lib and feature folders