working out some bugs, but its starting to come together