Please review this thoroughly before merging!