draft logic