breaks on 0
fix type when type is 0 and compile