Instead of saving "admin" in the user table, create both group an user_group tables, allowing for multiple usergroups and fine grained permissions. Also, the user class holds multiple identical or nearly identical methods. Redo the whole class.