use better login mechanism