many styling changes and a requires section for methods