add is_login decorator