added plate level and rewritten $, $<- and [,
[<- still needs to be implemented