impelement simple constructor