adds constructor