added proper testing