ok maybe a little too liberal. this should be better