wonder if it's possible to provide a more lightweight core by pulling out legality stuff to a separate project?