better formatting
must group operation