new changes added.
issue #15 added and #13 done a merge.