Working on moving legality functions to individul pieces