some working codes