Actual funtionality, minus subsymbols (well it might work, but it's all untested)