simplify and add more architectures.