initial (not working) line impl