Issue #23 : basic implementation of user login