updated framwork from api-work branch