Made more modularizable.