add a lot function