this is the first version for my demo program