heavy model not ready yet
heavy model C implementation, first working version, but still something wrong I think