first draft with a few functiaonalities