constructor to private