generalized box class added