With custom constructor