Tightened up the types