user context better implementation