without hardcode