add taken logic