adding wikipedia-define
refactoring into classes