Improved initialize method