fix bug & add functions