constraints better
big overhaul