pretty formating
use custom run loop for getting input
An attempt to implement abstract class