Add public interface functions, CT tests, fix formatting