functional login add