some bug fixed, added all empty functions