ADDED: Constructors and destructors for better code design