added metadata class and placeholders for its function