added most function