added func signatures