make positions dynamic