Restructure login module