Implements basic functionality of constructors