cleaned create method