works with ubuntu g++