super working controllers. they could be more beautiful but they work for now