make it a little better with using class