Programmatic autolayout seems to finally be working perfectly