Merge with mcunhas fork