todo (actually no it's working the way it should)