got rid of the this keywords
using only functional constructors. Got rid of some dependencies.