Updated with header comments