The basic idea is done