append function and some others added