move start function to private methods, and reference in public interface