self modularity