added execute method that split source into lines and updated unit tests