Initial commit; sort of tested, works in another project.