implemented more magic methods, fixes for last commit