some restructuring and styles