Finished basic functionality.