clean up & add some parameter