made Process a abstract class