modify signin functionality