checking uniformity
checking patterns, moving to main