added default constructors to avoid nullreferences