added devise, needs testing