basic functionality good, but still no error checking.