added some comments and placeholder functions