Improving documentation
Avoid unnecessary clone()
Split common.rs