implement new things

not stable, not useable