added magic methods
added magic methods