drafting proposal for apply()