PassThroughCode refactoring and create PassThrough Core and API for enhace reusability

need to get rid of static block