baby steps; not reinvent the wheel, but learn how to build one