cache support

use `maxAge`; closes #4