deleted duplicate class
already added exception class
refactor for cleaner design
require all