added a lot of validations, added accounts controller