almost final solution