0004 update

update from 0003 to 0004 and add new functions