Implement initial working version; still not sure all of the variants of the position system are correct