pretentii
refactoring almost done. hope so...
modifications