started major rework, not useable right now