added init and len function, cons is work in progress
improved tests