Finish basic implementation