master basic logic