need to rethink some aspects