implementing intrspection and passing the data