basic analysis functions added