execute self