avoiding name conflict in better way
fixed compilation errors