Various basic functionality and constructors added