Adding additional features and improving code quality