field references mostly working
working towards actual compilation