some more features, nearly halfway... maybe