reimplement login fragment