Better initialize method