optional overlay... although i need to rethink the api for this