added some additional framework