removed advanced type inference