add override annotations and simplify initialize method