==first submitted and runnable version==