add lazy get and additional tests