start implement own logic with smaller footprint