maybe this has been discussed before