working; a few issues with naming, however