simplified constructor by adding private init function