Made classes Polymorphic - API Unstable - changed project type to static
library