added serialversionuid to avoid breaking changes