Internal restructuring + started with self documentation