added custom attributes support