lot of changes, added chop