this should already have been implemented, details make all the difference