Add more legality functions