introducing self and fixing cons signature :evergreen_tree: