Only rebuild when something has changed