partially tested stuff. see Caesar.java for notes on that