make SignInput take an object, not pointer
update client and server for new model