Finished up basic functionality