i would remove the default declarations where not neccessary