better case structure, updated usage, validations