Updated for initialization and best practices