simplified, smallified cleaned up a bit