! bugfix: not calling self