Improved classes

Fixed linker errors
Created effective inheritance
Introduced new constructors