updated my constraints and top level a little bit. cleaned up the code