Made more Object Orientated by using base, and some new methods.