merged tuukkah's changes; added constructor functions in .defs