added class construction methods