better class :P