add initial version framework