Started doing 2nd implementation in ./lib