using self again