Basic functionality completed

Bug: Seems to "add" characters to the end sometimes.