trying to do this stuff the right way