+ finished first version