wip, needs proper cache and more MySQL queries