added superconstructors