moved constructor definitions to cc file