writing your own module